package com.bite.book.mapper;

import com.bite.book.model.BookInfo;
import com.bite.book.model.PageRequest;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface BookInfoMapper {
    @Insert("insert into book_info (book_name,author,count,price,publish,status) values (#{bookName},#{author},#{count},#{price},#{publish},#{status})")
    Integer insertBook(BookInfo bookInfo);

    @Select("select * from book_info where `status` != 0 limit #{offset},#{pagesize}")
    List<BookInfo> selectByPage(PageRequest pageRequest);

    @Select("select count(1) from book_info where `status` != 0")
    Integer count();

    @Select("select * from book_info where `status`!=0 and id = #{id}")
    BookInfo selectById(Integer id);

    Integer updateBookById(BookInfo bookInfo);

    Integer updateBatchById(List<Integer> ids);

    @Select("select count(1) from book_info where `status`!=0 and book_name = #{bookName}")
    Integer selectByName(String bookName);
}
